Grouping এবং Ungrouping Shapes

Java Technologies - অ্যাপাচি পিওআই (পাওয়ারপয়েন্ট) Shape এবং Drawing ম্যানিপুলেশন |
170
170

অ্যাপাচি পিওআই (Apache POI) একটি ওপেন সোর্স লাইব্রেরি যা Microsoft Office ফাইল ফরম্যাট পড়তে এবং লিখতে ব্যবহৃত হয়, বিশেষ করে Excel, Word, এবং PowerPoint ফাইল ফরম্যাটের জন্য। PowerPoint (PPTX) ফাইলের সাথে কাজ করার সময় Grouping এবং Ungrouping Shapes একটি সাধারণ কার্যকলাপ হতে পারে, যেখানে আপনি একাধিক শেপ (যেমন, টেক্সট বক্স, চিত্র, আউটলাইন, ইত্যাদি) একসাথে গ্রুপ করতে বা গ্রুপ ভেঙে দিতে পারেন।

Grouping এবং Ungrouping Shapes কি?

  • Grouping Shapes: একাধিক শেপকে একত্রিত করে একটি গ্রুপ হিসেবে পরিচালনা করা। এতে একাধিক শেপ একসাথে সরানো বা মাপ পরিবর্তন করা সহজ হয়।
  • Ungrouping Shapes: একটি গ্রুপ করা শেপকে আলাদা করা, অর্থাৎ শেপগুলি আবার স্বাধীনভাবে পরিচালনা করা।

Apache POI এর মাধ্যমে PowerPoint (PPTX) ফাইলের শেপগুলি গ্রুপ এবং আনগ্রুপ করতে কিছু কার্যকরী ফিচার সরবরাহ করা হয়।


Grouping Shapes in PowerPoint using Apache POI

Grouping করার জন্য পদ্ধতি:

  1. PowerPoint ফাইল লোড করুন।
  2. শেপগুলি নির্বাচন করুন যেগুলো আপনি গ্রুপ করতে চান।
  3. গ্রুপিং করতে একটি নতুন শেপ তৈরি করুন যা গ্রুপের শেপগুলিকে ধারণ করবে।
  4. ফাইল সংরক্ষণ করুন।

উদাহরণ:

Apache POI এর মাধ্যমে গ্রুপিং করা সোজা নয় কারণ এটি বিশেষভাবে গ্রুপিং বা আর্কিটেকচারের জন্য ডিজাইন করা হয়নি। তবে আপনি সঠিকভাবে শেপগুলি লেআউট করে এবং তাদেরকে একত্রে ম্যানিপুলেট করতে পারেন। নিম্নলিখিত কোডটি গ্রুপিংয়ের জন্য একটি সাধারণ ধারণা প্রদান করে:

import org.apache.poi.xslf.usermodel.*;
import org.apache.poi.xslf.usermodel.XSLFGroupShape;
import org.apache.poi.xslf.usermodel.XSLFShape;
import java.io.*;

public class GroupShapesExample {
    public static void main(String[] args) throws IOException {
        // একটি নতুন PowerPoint তৈরি করা
        XMLSlideShow ppt = new XMLSlideShow();

        // স্লাইড তৈরি করা
        XSLFSlide slide = ppt.createSlide();

        // দুটি শেপ তৈরি করা
        XSLFAutoShape shape1 = slide.createAutoShape();
        shape1.setShapeType(ShapeType.RECTANGLE);
        shape1.setAnchor(new java.awt.Rectangle(50, 50, 200, 100));
        
        XSLFAutoShape shape2 = slide.createAutoShape();
        shape2.setShapeType(ShapeType.ELLIPSE);
        shape2.setAnchor(new java.awt.Rectangle(100, 100, 200, 100));

        // দুটি শেপ একত্রিত করা (গ্রুপ করা)
        XSLFGroupShape groupShape = slide.createGroupShape();
        groupShape.addShape(shape1);
        groupShape.addShape(shape2);

        // ফাইল সংরক্ষণ করা
        try (FileOutputStream out = new FileOutputStream("grouped_shapes.pptx")) {
            ppt.write(out);
        }

        System.out.println("PowerPoint ফাইল সফলভাবে গ্রুপ করা শেপ সহ তৈরি হয়েছে!");
    }
}

এই কোডে:

  • দুটি শেপ (shape1 এবং shape2) তৈরি করা হয়েছে এবং তাদের গ্রুপ করা হয়েছে XSLFGroupShape এর মাধ্যমে।
  • গ্রুপ করা শেপটিকে একটি নতুন স্লাইডে যোগ করা হয়েছে এবং শেষে সেই ফাইলটি grouped_shapes.pptx হিসেবে সংরক্ষণ করা হয়েছে।

Ungrouping Shapes in PowerPoint using Apache POI

Ungrouping করার জন্য পদ্ধতি:

  1. PowerPoint ফাইল লোড করুন।
  2. গ্রুপ করা শেপ খুঁজে বের করুন।
  3. গ্রুপটি আলাদা করুন (এটি সরাসরি POI-তে করা সম্ভব নয়, তবে আপনি শেপগুলোকে আলাদা করে রাখতে পারবেন)।
  4. ফাইল সংরক্ষণ করুন।

উদাহরণ:

Apache POI সরাসরি Ungrouping এর জন্য সমর্থন প্রদান করে না। তবে, আপনি গ্রুপ শেপ থেকে শেপগুলো বের করে নিয়ে এবং আলাদাভাবে ব্যবহৃত শেপ হিসাবে সেট করতে পারেন। নিচে এর একটি উদাহরণ দেওয়া হয়েছে:

import org.apache.poi.xslf.usermodel.*;
import java.io.*;

public class UngroupShapesExample {
    public static void main(String[] args) throws IOException {
        // PowerPoint ফাইল লোড করা
        XMLSlideShow ppt = new XMLSlideShow(new FileInputStream("grouped_shapes.pptx"));

        // প্রথম স্লাইডের শেপগুলো সংগ্রহ করা
        XSLFSlide slide = ppt.getSlides().get(0);
        XSLFGroupShape groupShape = (XSLFGroupShape) slide.getShapes().get(0);

        // গ্রুপ থেকে আলাদা শেপ বের করা
        for (XSLFShape shape : groupShape.getShapes()) {
            // আলাদা শেপ হিসাবে প্রসেস বা কাজ করা
            System.out.println("Shape: " + shape.getShapeType());
        }

        // ফাইল সংরক্ষণ করা
        try (FileOutputStream out = new FileOutputStream("ungrouped_shapes.pptx")) {
            ppt.write(out);
        }

        System.out.println("PowerPoint ফাইল সফলভাবে আনগ্রুপ করা শেপ সহ তৈরি হয়েছে!");
    }
}

কোড ব্যাখ্যা:

  • এখানে, groupShape.getShapes() থেকে প্রতিটি শেপকে আলাদা করা হচ্ছে এবং আপনি সেগুলির উপর আলাদা কাজ করতে পারবেন।
  • গ্রুপ থেকে শেপগুলোকে বের করার পর, আলাদা PowerPoint ফাইল ungrouped_shapes.pptx নামে সংরক্ষণ করা হয়েছে।

সারাংশ

Apache POI ব্যবহার করে PowerPoint ফাইলের Shapes গ্রুপিং এবং আনগ্রুপিং করা সরাসরি সমর্থনিত নয়, তবে আপনি শেপগুলোকে XSLFGroupShape ব্যবহার করে গ্রুপ করতে পারেন এবং পরে সেই গ্রুপ থেকে শেপগুলো বের করতে পারেন। Grouping এবং Ungrouping একসাথে কাজ করার মাধ্যমে, আপনি PowerPoint ফাইলের কন্টেন্ট ম্যানিপুলেট এবং কাস্টমাইজ করতে পারবেন।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion